In mathematics, a Pythagorean triple is a set of three positive integers a, b, and c having the property that they can be respectively the two legs and the hypotenuse of a right triangle, thus satisfying the equation ; the triple is said to be primitive if and only if a, b, and c share no common divisor. The set of all primitive Pythagorean triples has the structure of a rooted tree, specifically a ternary tree, in a natural way. This may have been first discovered by B. Berggren in 1934.[1]
F. J. M. Barning showed[2] that when any of the three matrices
is multiplied on the right by a column vector whose components form a Pythagorean triple, then the result is another column vector whose components are a different Pythagorean triple. If the initial triple is primitive, then so is the one that results. Thus each primitive Pythagorean triple has three "children". All primitive Pythagorean triples are descended in this way from the triple (3 ,4, 5), and no primitive triple appears more than once. The result may be graphically represented as a infinite ternary tree with (3, 4, 5) at the root node (see classic tree at right). This tree also appeared in papers of A. Hall in 1970[3] and A. R. Kanga in 1990.[4]
Contents |
The transformation using matrix A, if performed repeatedly from (a, b, c) = (3, 4, 5), preserves the feature b + 1 = c; matrix B preserves a – b = ±1 starting from (3, 4, 5); and matrix C preserves the feature a + 2 = c starting from (3, 4, 5).
A geometric interpretation for this tree involves the excircles present at each node. The three children of any parent triangle “inherit” their inradii from the parent: the parent’s excircle radii become the inradii for the next generation.[5]:p.7 For example, parent ( 3, 4, 5) has excircle radii equal to 2, 3, and 6. These are precisely the inradii of the three children (5, 12, 13), (15, 8, 17) and (21, 20, 29) respectively.
If either of A or C is applied repeatedly from any Pythagorean triple used as an initial condition, then the dynamics of any of a, b, and c can be expressed as the dynamics of x in
which is patterned on the matrices' shared characteristic equation
If B is applied repeatedly, then the dynamics of any of a, b, and c can be expressed as the dynamics of x in
which is patterned on the characteristic equation of B.[6]
Moreover, an infinitude of other third-order univariate difference equations can be found by multiplying any of the three matrices together an arbitrary number of times in an arbitrary sequence. For instance, the matrix D = CB moves one out the tree by two nodes (across, then down) in a single step; the characteristic equation of D provides the pattern for the third-order dynamics of any of a, b, or c in the non-exhaustive tree formed by D.
Another approach to the dynamics of this tree[7] relies on the standard formula for generating all primitive Pythagorean triples:
with m > n > 0 and m and n coprime and of opposite parity. Pairs (m, n) can be iterated by pre-multiplying them (expressed as a column vector) by any of
each of which preserves the inequalities, coprimeness, and opposite parity. The resulting ternary tree contains every such (m, n) pair exactly once, and when converted into (a, b, c) triples it becomes identical to the tree described above.
Another way of using two underlying parameters to generate the tree of triples[8] uses an alternative formula for all primitive triples:
with u > v > 0 and u and v coprime and both odd. Pairs (u, v) can be iterated by pre-multiplying them (expressed as a column vector) by any of the above 2 × 2 matrices, all three of which preserve the inequalities, coprimeness, and the odd parity of both elements. When this process is begun at (3, 1), the resulting ternary tree contains every such (u, v) pair exactly once, and when converted into (a, b, c) triples it becomes identical to the tree described above.
A different tree found by Price[5] may be produced in a similar way using matrices A',B',C' shown below. (See Pythagorean triples by use of matrices and linear transformations.)